<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        li {
            list-style: none;
        }

        #title {
            line-height: 40px;
        }

        .list li {
            line-height: 32px;
            border: 1px dashed #333;
        }

        .list li+li {
            border-top: 0;
        }
    </style>
</head>

<body>
    <div class="wrap">
        <h3 id="title">dom操作封装</h3>
        <ul class="list">
            <li>01</li>
            <li>02</li>
            <li>03</li>
            <li>04</li>
            <li>05</li>
            <li>06</li>
        </ul>
    </div>
</body>
<script>
    // dom操作
    // 简单的来说 对文档(html页面)上的元素进行增删改查 还有获取元素,修改元素的内容, 属性, 样式 ,绑定事件


    // 目标: 对dom操作进行面向对象的封装 -> 可以让我们以更便捷的方式 获取元素 修改元素内容 属性 样式 绑定事件等等

    // 面向过程:
    // 1. 先获取元素
    // 2. 操作元素

    // 单元素操作  => 获取后直接操作
    // var tittle = document.getElementById("title");
    // tittle.textContent = "11111"

    // 多元素操作  => 获取后 遍历操作
    // var lis = document.querySelectorAll(".list li");
    // for (var i = 0; i < lis.length; i++) {
    //     var li = lis[i];
    //     li.textContent = "2222";
    // }


    // 问题: 这样在封装时还需要考虑是单元素操作 还是 多元素操作 => 麻烦  => 有什么方法统一一下用法?
    // 在此处可以使用  document.querySelectorAll() 获取元素  =>  传入一个css选择器 无论是单元素 还是多元素 都可以将获取的元素存放到集合中  => 统一遍历执行

    var list = document.querySelectorAll("#title"); // [h2]
    for (var i = 0; i < list.length; i++) {
        var ele = list[i];
        ele.textContent = "11111";
    }


    var list = document.querySelectorAll(".list li"); // [li,li,li,li,li,li]
    for (var i = 0; i < list.length; i++) {
        var ele = list[i];
        ele.textContent = "22222";
    }






</script>

</html>